package com.example.project.service;

import java.util.List;
import java.util.Map;

import org.apache.poi.ss.usermodel.Workbook;

import com.example.project.vo.ProjectReportRequest;

/**
 * 项目报表服务接口
 * 
 * @author ruoyi
 * @date 2025-10-24
 */
public interface ProjectReportService {

    /**
     * 生成Excel报表
     * 
     * @param request 报表请求参数
     * @return Excel工作簿
     */
    Workbook generateExcelReport(ProjectReportRequest request);
    
    /**
     * 获取项目基本信息报表数据
     * 
     * @param request 报表请求参数
     * @return 项目基本信息数据列表
     */
    List<Map<String, Object>> getProjectBasicInfoData(ProjectReportRequest request);
    
    /**
     * 获取项目统计报表数据
     * 
     * @param request 报表请求参数
     * @return 项目统计数据列表
     */
    List<Map<String, Object>> getProjectStatisticsData(ProjectReportRequest request);
    
    /**
     * 获取问题明细报表数据
     * 
     * @param request 报表请求参数
     * @return 问题明细数据列表
     */
    List<Map<String, Object>> getIssueDetailData(ProjectReportRequest request);
    
    /**
     * 获取客户项目关系报表数据
     * 
     * @param request 报表请求参数
     * @return 客户项目关系数据列表
     */
    List<Map<String, Object>> getCustomerProjectData(ProjectReportRequest request);
    
    /**
     * 获取综合项目分析报表数据
     * 
     * @param request 报表请求参数
     * @return 综合项目分析数据列表
     */
    List<Map<String, Object>> getComprehensiveAnalysisData(ProjectReportRequest request);
}